package com.lancoo.znbkxx.teacher.aibkTestCoach.networkRequest.entity

import java.math.BigDecimal

data class QuesMarkDeatil(
        val QuesDetail: QuesDetailMark,
        val StuAnswerList: MutableList<StuAnswerMark>?
)

data class QuesDetailMark(
        val ChildList: MutableList<ChildMark>,
        val AudioSpeed: Double,
        val DVAL: String,
        val EXVAL: String,
        val EvalType: Int,
        val GenreID: Int,
        val GenreName: String,
        val GenreType: String,
        val HVAL: String,
        val ImportKlgList: MutableList<ImportKlgMark>,
        val IsOral: Boolean,
        val MainKlgList: MutableList<MainKlgMark>,
        val ModelAnswerAreaList: MutableList<AnswerArea>,
        val ModelAnswerInfoList: MutableList<AnswerInfo>,
        val ModelTextInfoList: MutableList<TextInfo>,
        val QuesAudio: QuesAudioMark,
        val QuesBody: String,
        val QuesBrief: String,
        val QuesChildNum: Int,
        val QuesID: String,
        val QuesLeaderContent: String,
        val SortNum: Int,
        val SpecialFeatureCodes: String,
        val Theme: String,
        val TotalItemCount: Double,
        val TypeName: String,
        val TypeNo: String,
        val Resource: String
)

data class TextInfo(
        var Index: Int,
        var Text: String
)

data class AnswerInfo(
        var Index: Int,
        var Answer: String
)

data class AnswerArea(
        var Index: Int,
        var AnswerArea: String
)

data class StuAnswerMark(
        val ChildAnswerList: MutableList<ChildAnswerMark>,
        val Comment: String,
        var EvalScore: BigDecimal,
        val QuesID: String,
        val State: Int,
        val StuID: String,
        val StuName: String
)

data class ChildMark(
        val isSelect: Boolean,
        val isShowMark: Boolean,
        val ChildAnalysis: String,
        val ChildAnswer: String,
        val ChildAnswerType: Int,
        val ChildAsk: String,
        val ChildDisplay: String,
        val ChildSectionName: String,
        val ChildAudio: ChildAudioMark,
        val ChildOptionList: MutableList<ChildOptionMark>,
        val ItemList: MutableList<ItemMark>,
        val SortIndexType: Int
)

data class ImportKlgMark(
        val Code: String,
        val Name: String,
        val UniqueCode: String
)

data class MainKlgMark(
        val Code: String,
        val Name: String,
        val UniqueCode: String
)

data class QuesAudioMark(
        val Article: String,
        val Path: String,
        val TimeLength: Int
)

data class ChildAudioMark(
        val Path: String,
        val TimeLength: Int
)

data class ChildOptionMark(
        val IsRight: Boolean,
        val Option: String,
        val OptionIndex: String,
        val Rate: String,
        val ShowType: Int,
        val StuCount: String
)

data class ItemMark(
        var isSelect: Boolean,
        var isShowMark: Boolean,
        var IsRemark: Boolean,
        var ItemAnalysis: String,
        var ItemAnswer: String,
        var ItemAskList: MutableList<String>,
        var ItemOptionList: MutableList<ItemOptionMark>,
        var ItemSortIndex: String,
        var SortIndex: String
)

data class ItemOptionMark(
        val IsRight: Boolean,
        val Option: String,
        val OptionIndex: String,
        val Rate: String,
        val StuCount: String
)

data class ChildAnswerMark(
        var Comment: String,
        var StuId: String,
        var StuName: String,
        var QuesID: String,
        var AudioPath: String,
        var ChildIndex: Int, //第几个答题点
        var EvalScore: BigDecimal,
        var ImagePath: String,
        var ItemList: MutableList<ItemXMark>,
        var ScoreRate: BigDecimal,
        var SortIndexType: Int,
        var State: Int,
        var StuAnswer: String,
        var TotalScore: BigDecimal,
        var WrittingAnswerType: Int,
        var ItemAnswer: String
)

data class ItemXMark(
        var ItemAnswer: String,
        var Comment: String,
        var ChildIndex: Int,
        var StuId: String,
        var StuName: String,
        var QuesID: String,
        var AudioPath: String,
        var EvalScore: BigDecimal,
        var ImagePath: String,
        var ItemAskList: Any,
        var ItemIndex: Int,
        var ScoreRate: BigDecimal,
        var State: Int,
        var StuAnswer: String,
        var TotalScore: BigDecimal,
        var WrittingAnswerType: Int,
        var ChildAnswer: String?, //针对改错题的适配，改错题取小题层
        var ChildScore:BigDecimal  //针对改错题的适配，答题点分数不变
)